EC2インスタンスとRDS DBインスタンスを自動接続してみた。
概要
RDS の作成時に [Connect to an EC2 Compute resource] オプションを使用するか、既存の RDS/Aurora の場合に [Set up EC2 connection] オプションを使用して RDS と EC2 を自動的に接続できます。これにより、EC2 インスタンスと RDS データベース間の接続を許可するために必要なネットワーク設定が自動的に設定されます。この機能により、EC2インスタンスとRDSデータベース間の接続を数分でシームレスに確立することができます。
この記事では、EC2 Linux インスタンスと RDS for MySQL DB インスタンス間の自動接続の設定を試してみました。
やってみた
EC2の作成
- この設定で EC2インスタンスを作成しておきます。
- AMI : Amazon Linux 2 AMI
- インスタンスタイプ : t2.micro
- サブネット:パブリックサブネット
- IAM ロール : Session Manager が EC2 にアクセスできるようにするロール。
RDS DB インスタンスの作成中に接続を設定する
- RDS DB インスタンスの作成中に、[Connectivity] で [Connect to an EC2 compute resource] を選択し、接続する EC2 インスタンスを選択しておきます。
- [Connect to an EC2 compute resource]を選択すると、RDS DB インスタンスが作成される VPC (EC2 と同じ) が自動的に選択されます。 VPC 設定は変更できません。
- この自動接続により、EC2 インスタンスと RDS にセキュリティ グループが追加され、両者間の接続が可能になります。
- ただし、既存のサブネット グループを選択することも、[Automatic setup] を選択することもできます。[Automatic setup] を選択すると、RDS に新しいサブネットとサブネット グループが作成されます。
EC2 インスタンスと既存の RDS 間の接続を構成する
- RDS コンソールのナビゲーションペインで [Databases] を選択しておきます。
- EC2に接続したいデータベースを選択して、[Actions] で [Set up EC2 connection] を選択しておきます。
- 接続する EC2 インスタンスを選択しておきます。
- 接続を確認して設定しておきます。
- この自動接続により、EC2 インスタンスと RDS にセキュリティ グループが追加され、両者間の接続が可能になります。
セキュリティグループを確認する
RDS DBインスタンスのセキュリティグループを確認する
- RDS DBインスタンスに、名前 [rds-ec2-1] のセキュリティグループが追加されました。このセキュリティ グループには、ポート 3306 とソースとしての EC2 セキュリティ グループを持つ受信ルールが含まれています。
EC2インスタンスのセキュリティグループを確認する
- EC2 インスタンスに、名前 [ec2-rds-1] のセキュリティグループが追加されました。このセキュリティ グループには、ポート 3306 と送信先としての RDS セキュリティ グループを持つアウトバウンドルールが含まれています。
EC2とRDS間の接続を確認する
- RDS データベース の [Connectivity & security] タブの [Connected compute resources] に接続されている EC2 インスタンスが表示されます。
- EC2インスタンスからRDS DBインスタンスに接続することができました。
まとめ
EC2インスタンスとRDS DBインスタンスを自動接続してみました。RDSの [Connect to an EC2 Compute resource/Set up EC2 connection] オプションで、EC2インスタンスとRDS DBインスタンスを素早く接続することができます。
Reference : Connect an EC2 Instance and an RDS database automatically.